//
// Created by liuhuan on 2021/5/23.
//

#ifndef CPP_OPE_HGD_H
#define CPP_OPE_HGD_H

#include "ValueRange.h"
#include "Coins.h"

#define PI acos(-1)

/**
 * 抽样函数的 底层函数调用
 */
class Hgd {
public:
    static uint rhyper(uint kk, uint nn1, uint nn2, Coins coins);
    static uint hypergeometricHyp(Coins prng, uint good, uint bad, uint sample);
    static uint hypergeometricHrua(Coins prng, uint good, uint bad, uint sample);
    static double loggam(double x);
};


#endif //CPP_OPE_HGD_H
